//
//  DBHelper+Service.m
//  TravelGuideMdd
//
//  Created by xiaofeng on 14-8-28.
//  Copyright (c) 2014年 mafengwo.com. All rights reserved.
//

#import "DBHelper+Service.h"

@implementation DBHelper (Service)


#pragma mark 数据库首次创建脚本

+(BOOL)executeCreateDatabase:(FMDatabase*)db
{
    BOOL success = YES;
    
    
    
    
//   //  创建下载
//    NSString* sql = @"create table if not exists t_city_info("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",type text"
//    @",name text"
//    @",state text"
//    @",currentCount text"
//    @",allCount text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // 创建食记编辑
//    sql = @"create table if not exists t_daily("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_editid text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // 创建清单餐厅
//    sql = @"create table if not exists t_travelistrest("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_invid text"
//    @");";
//    success = success && [db executeUpdate:sql];

//
//    // 创建攻略简单数据表
//    sql = @"create table if not exists t_book_simple("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",title text"
//    @",ver text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // 攻略下载表
//    sql = @"create table if not exists t_book_down("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_finish tinyint"
//    @",title text"
//    @",ver text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    //---------------------------- iPad5.0.0新增表 start
//    // 创建Pdf数据表  iPad 5.0.0新增
//    sql = @"create table if not exists t_pdf("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",title text"
//    @",ver text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // PDF下载表  iPad 5.0.0新增
//    sql = @"create table if not exists t_pdf_down("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_finish tinyint"
//    @",title text"
//    @",ver text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // 创建Pdf书签表 iPad 5.0.0新增
//    sql = @"create table if not exists t_pdf_bookmark("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",pdf_id text"
//    @",pdf_title text"
//    @",page_index INTEGER"
//    @",page_title text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    //---------------------------- iPad5.0.0新增表 end
//
//    
//    // 创建POI表
//    sql = @"create table if not exists t_poi("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // 创建商圈表 6.1.0新增
//    sql = @"create table if not exists t_mdd_area("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // 创建目的地简版表 6.1.1新增
//    sql = @"create table if not exists t_mdd_simple("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",type_region text"
//    @",name text"
//    @",pinyin_f text"
//    @",pinyin_s text"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    // 创建结构化游记下载表
//    /*ipad 版本添加字段 'note_mdd', iphone 版本未做兼容。。--记 2014-12-01 yanling */
//    
//    sql = @"create table if not exists t_note_down("
//    @"c_id text primary key"
//    @",c_json text"
//    @",c_utime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_ctime TIMESTAMP DEFAULT (datetime('now','localtime'))"
//    @",c_finish tinyint"
//    @",title text"
//    @",note_cover_image text"
//    @",note_author text"
//    @",note_visitor_number text"
//    @",note_comment_number text"
//    @",note_mdd text"
//    @",note_preview_images text"
//    @",note_is_treasure tinyint"
//    @",note_is_cream tinyint"
//    @",note_is_focus tinyint"
//    @");";
//    success = success && [db executeUpdate:sql];
//    
//    
//    // 目的地简表索引：type_region 6.1.1新增
//    sql = @"create index if not exists index_type_region on t_mdd_simple(type_region);";
//    success = success && [db executeUpdate:sql];
//    
//    // 目的地简表索引：name 6.1.1新增
//    sql = @"create index if not exists index_name on t_mdd_simple(name);";
//    success = success && [db executeUpdate:sql];
//    
//    // 目的地简表索引：pinyin_f 6.1.1新增
//    sql = @"create index if not exists index_pinyin_f on t_mdd_simple(pinyin_f);";
//    success = success && [db executeUpdate:sql];
//    
//    // 目的地简表索引：pinyin_s 6.1.1新增
//    sql = @"create index if not exists index_pinyin_s on t_mdd_simple(pinyin_s);";
//    success = success && [db executeUpdate:sql];
//    
//    //离线游记表：note_mdd,note_preview_images,note_is_treasure,note_is_cream,note_is_focus 新增
//    if (![self checkTable:@"t_note_down"
//                           hasColumn:@"note_mdd text"
//                                inDB:db]) {
//        sql = @"alter table t_note_down add note_mdd text";
//        success = success && [db executeUpdate:sql];
//    }
//    
//    if (![self checkTable:@"t_note_down"
//                           hasColumn:@"note_preview_images text"
//                                inDB:db]) {
//        sql = @"alter table t_note_down add note_preview_images text";
//        success = success && [db executeUpdate:sql];
//    }
//    if (![self checkTable:@"t_note_down"
//                           hasColumn:@"note_is_treasure tinyint"
//                                inDB:db]) {
//        sql = @"alter table t_note_down add note_is_treasure tinyint";
//        success = success && [db executeUpdate:sql];
//    }
//    
//    if (![self checkTable:@"t_note_down"
//                           hasColumn:@"note_is_cream tinyint"
//                                inDB:db]) {
//        sql = @"alter table t_note_down add note_is_cream tinyint";
//        success = success && [db executeUpdate:sql];
//    }
//    
//    if (![self checkTable:@"t_note_down"
//                           hasColumn:@"note_is_focus tinyint"
//                                inDB:db]) {
//        sql = @"alter table t_note_down add note_is_focus tinyint";
//        success = success && [db executeUpdate:sql];
//    }
    
    return success;
}



+ (BOOL)checkTable:(NSString *)table hasColumn:(NSString *)column inDB:(FMDatabase *)db
{
    NSString * sql = @"select sql from sqlite_master where tbl_name='%@' and type='table'";
    FMResultSet * result = [db executeQuery:[NSString stringWithFormat:sql, table]];
    if([result next]) {
        NSString * creation_sql = [result stringForColumn:@"sql"];
        NSRange range = [creation_sql rangeOfString:column];
        if (range.location==NSNotFound) {
            return NO;
        }else {
            return YES;
        }
    }
    return YES;
}


@end
